package day_2022_1_to_2.day16;

//1、给定一个排序数组和一个目标值，在数组中找到目标值，并返回其索引。如果目标值不存在于数组中，返回它将
//会被按顺序插入的位置,你可以假设数组中无重复元素.OJ链接【LeetCode题号: 35. 搜索插入位置】
//示例 1: 输入: nums = [1,3,5,6], target = 5 输出: 2
//示例 2: 输入: nums = [1,3,5,6], target = 2 输出: 1

public class Day11_1 {
    public static void main(String[] args) {
        int[] nums=new int[]{1,3,5,6};
        int target=2;
        System.out.println(searchInsert(nums,target));
    }
    public static int searchInsert(int[] nums, int target) {
        int first=0;
        int last=nums.length-1;
        if(target<nums[first]){
            return 0;
        }
        if(target>nums[nums.length-1]){
            return nums.length;
        }
        while (first<=last){
            int mid=(first+last)/2;
            if(target<nums[mid]){
                last=mid-1;
            }else if(target>nums[mid]){
                first=mid+1;
            }else {
                return mid;
            }
        }
        return first;
    }
}
